package com.youlai.boot.modules.game.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.modules.game.model.entity.GameComment;
import com.youlai.boot.modules.game.model.form.GameCommentForm;
import com.youlai.boot.modules.game.model.query.GameCommentQuery;
import com.youlai.boot.modules.game.model.vo.GameCommentVO;

/**
 * 游戏评论服务接口
 *
 * @author 有来技术团队
 */
public interface GameCommentService extends IService<GameComment> {

    /**
     * 获取评论分页列表
     *
     * @param queryParams 查询参数
     * @return 评论分页列表
     */
    Page<GameCommentVO> getCommentPage(GameCommentQuery queryParams);

    /**
     * 获取评论详情
     *
     * @param id 评论ID
     * @return 评论详情
     */
    GameCommentVO getCommentDetail(Long id);

    /**
     * 添加评论
     *
     * @param formData 表单数据
     * @return 评论ID
     */
    Long addComment(GameCommentForm formData);

    /**
     * 修改评论
     *
     * @param id 评论ID
     * @param formData 表单数据
     * @return 是否成功
     */
    boolean updateComment(Long id, GameCommentForm formData);

    /**
     * 删除评论
     *
     * @param id 评论ID
     * @return 是否成功
     */
    boolean deleteComment(Long id);

    /**
     * 评论点赞/取消点赞
     *
     * @param id 评论ID
     * @return 是否成功
     */
    boolean toggleLike(Long id);
} 